package mathx

import (
	"strconv"
	"strings"
)

// GetFractionLength 获取浮点数小数点后的长度
func GetFractionLength(f float64) int {
	// 使用 FormatFloat 将浮点数转换为字符串形式，去掉多余的 0
	str := strconv.FormatFloat(f, 'f', -1, 64)

	// 查找小数点的位置
	if dotIndex := strings.Index(str, "."); dotIndex != -1 {
		// 返回小数点后面的字符长度
		return len(str[dotIndex+1:])
	}

	// 如果没有小数点，则返回 0
	return 0
}
